<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once 'syncrolist.php';

class Usuarios extends Syncrolist {

    public function __construct() {
        parent::__construct();
    }

	public function index()
	{
		$this->login();
	}

	public function home()
	{
        // Variables para la vista
        $data['usuario'] = $this->getUsuarioLogueado();

        // Cargo la vista
        $this->smartyview->render('usuario_home.html',$data);
	}

	public function login()
    {   
        // Si el usuario ya esta loggeado lo redirijo al home
        $logueado = Usuario::getUsuarioLogueado();
        if ($logueado->id) {
            redirect(base_url() . 'usuarios/home/');
		}
        
        // Variables para la vista
        $data['usuario'] = new Usuario();
        $data['msg']     = new PwMsgHandler();
        
        // Si está posteando, intento loguearme
        if ($this->input->server('REQUEST_METHOD') === 'POST') {
            $this->login_do($data);
        }
        
        // Cargo la vista
        $this->smartyview->render('usuario_login.html',$data);
    }

    private function login_do($data)
    {
        // Busco un usuario con los datos posteados
        $data['usuario']->where('username',$this->input->post('username'))
        				->where('password',sha1($this->input->post('password')))->get();
        
        // Chequeo si se encontró un usuario con esos datos
        if ($data['usuario']->id) {
			$data['usuario']->sessionCreate();
			redirect(base_url() . 'usuarios/home/');
        }
        else {
            // Mantengo el nombre de usuario por si se equivocó tipeando la clave
            $data['usuario']->username = $this->input->post('username');
            
            // Cartel de error
            $data['msg']->error = 'Nombre de usuario o contraseña incorrectos';
        }
    } // login_do

    public function logout()
    {
    	// deslogueo el usuario
        $this->session->unset_userdata('usuario_id');
        
        // mesaje de éxito
        $msg          = new PwMsgHandler();
        $msg->success = 'Cerraste sesión correctamente';
        $msg->persistSuccess();
        
        // Redirijo al login
        redirect(base_url());
    }

} // class Usuarios

/* End of file usuarios.php */
/* Location: ./application/controllers/usuarios.php */